<html>
<head><title>Image map created by yEd</title>
<style type="text/css">
.tooltip {
  font-size:10pt;
  background-color:#FFFFCC;
  border:1px solid black;
  padding:2px
}
</style>
<style type="text/css">
.tooltip {
  position:absolute;
  display:none
}
</style>
</head>
<body>

<script type="text/javascript">
tooltip = null;
document.onmousemove = updateTooltip;
function updateTooltip(e) {
try {
if (document.all) {
if (document.documentElement && document.documentElement.scrollTop) { // Explorer 6 Strict
x = document.documentElement.scrollLeft + window.event.x;
y = document.documentElement.scrollTop + window.event.y;
}
else { // all other Explorers
x = document.body.scrollLeft + window.event.x;
y = document.body.scrollTop + window.event.y;
}
}
else {
x = e.pageX;
y = e.pageY;
}
if (tooltip != null) {
o = 20;
var sx, sy;
if (self.pageYOffset) { // all except Explorer
sx = self.pageXOffset;
sy = self.pageYOffset;
}
else if (document.documentElement && document.documentElement.scrollTop) { // Explorer 6 Strict
sx = document.documentElement.scrollLeft;
sy = document.documentElement.scrollTop;
}
else if (document.body) { // all other Explorers
sx = document.body.scrollLeft;
sy = document.body.scrollTop;
}
t = y + o + tooltip.offsetHeight;
w = sy + document.body.clientHeight;
if (t > w) {
y = y - o - tooltip.offsetHeight;
}
else {
y = y + o;
}
t = x + o + tooltip.offsetWidth;
w = sx + document.body.clientWidth;
if (t > w) {
x = x - o - tooltip.offsetWidth;
}
else {
x = x + o;
}
if ((tooltip.style.top == '' || tooltip.style.top == 0) && (tooltip.style.left == '' || tooltip.style.left == 0))
{
tooltip.style.width = tooltip.offsetWidth + 'px';
tooltip.style.height = tooltip.offsetHeight + 'px';
}
tooltip.style.left = x + "px";
tooltip.style.top = y + "px";
}
} catch (error) { error = null; }
}
function showTooltip(id) {
try {
tooltip = document.getElementById(id);
tooltip.style.display = "block";
} catch (error) { error = null; }
}
function hideTooltip() {
try {
tooltip.style.display = "none";
} catch (error) { error = null; }
}
</script>

<div class="tooltip" id="n0">Receiver</div>
<div class="tooltip" id="n1">In normal flight mode this passes the receiver straight on to the stabilization. It does add a correction factor to the throttle to help compensate for the loss of lift cused by yawing maneuvering.<br><br>In autonomous mode it combines the known position data with the desired position to generate pitch/roll/yaw/throttle commands.</div>
<div class="tooltip" id="n2">Accelerometers</div>
<div class="tooltip" id="n3">The AHRS combines accelerometer, gyro and compass data to fomr an estimate of the current heading. It uses the DCM algorithm as used in the ArduIMU.</div>
<div class="tooltip" id="n4">Flight stabilization. It does it's best to make the aircraft follow the commanded pitch/roll/yaw, based on information from the various sensors.</div>
<div class="tooltip" id="n5">Gyros</div>
<div class="tooltip" id="n6">Compass</div>
<div class="tooltip" id="n7">This combines the pitch/roll/yaw/throttle commands into suitable signals to control the motors and control surfaces.</div>
<div class="tooltip" id="n8">SCP1000 altimeter</div>
<div class="tooltip" id="n9">The altimeter is very noisy so AltEstimate combines this data with an estimated altitude based on accelerometer data to form an estimated smoothed altitude.</div>
<div class="tooltip" id="n10">400Hz PWM outputs for digital servos and ESCs.</div>
<div class="tooltip" id="n11">50Hz servo outputs for analog servos.</div>
<div class="tooltip" id="n12">Camera stabilization</div>
<div class="tooltip" id="n13">Calculate how to get to the next waypoint.</div>
<div class="tooltip" id="n14">GPS</div>
<div class="tooltip" id="n15">Waypoints</div>

<map name="image1_1">
  <area shape="rect" coords="311,411,437,441" alt="" onmouseout="hideTooltip()" onmouseover="showTooltip('n15')"/>
  <area shape="rect" coords="158,354,232,384" alt="" onmouseout="hideTooltip()" onmouseover="showTooltip('n14')"/>
  <area shape="rect" coords="311,354,437,384" alt="" onmouseout="hideTooltip()" onmouseover="showTooltip('n13')"/>
  <area shape="rect" coords="552,96,617,126" alt="" onmouseout="hideTooltip()" onmouseover="showTooltip('n12')"/>
  <area shape="rect" coords="628,236,702,266" alt="" onmouseout="hideTooltip()" onmouseover="showTooltip('n11')"/>
  <area shape="rect" coords="628,296,702,326" alt="" onmouseout="hideTooltip()" onmouseover="showTooltip('n10')"/>
  <area shape="rect" coords="117,176,197,206" alt="" onmouseout="hideTooltip()" onmouseover="showTooltip('n9')"/>
  <area shape="rect" coords="15,176,80,206" alt="" onmouseout="hideTooltip()" onmouseover="showTooltip('n8')"/>
  <area shape="rect" coords="516,266,596,296" alt="" onmouseout="hideTooltip()" onmouseover="showTooltip('n7')"/>
  <area shape="rect" coords="296,15,400,45" alt="" onmouseout="hideTooltip()" onmouseover="showTooltip('n6')"/>
  <area shape="rect" coords="443,149,508,179" alt="" onmouseout="hideTooltip()" onmouseover="showTooltip('n5')"/>
  <area shape="rect" coords="404,265,484,295" alt="" onmouseout="hideTooltip()" onmouseover="showTooltip('n4')"/>
  <area shape="rect" coords="296,96,400,126" alt="" onmouseout="hideTooltip()" onmouseover="showTooltip('n3')"/>
  <area shape="rect" coords="142,96,232,126" alt="" onmouseout="hideTooltip()" onmouseover="showTooltip('n2')"/>
  <area shape="rect" coords="262,265,361,295" alt="" onmouseout="hideTooltip()" onmouseover="showTooltip('n1')"/>
  <area shape="rect" coords="117,265,197,295" alt="" onmouseout="hideTooltip()" onmouseover="showTooltip('n0')"/>
</map>


    <table class="yimagetable" cellspacing="0" cellpadding="0" border="0">
      <tr>
        <td><img class="yimage" src="SystemLayout1_1.png" usemap="#image1_1" border="0" alt=""/></td>
      </tr>
    </table>
</body>
</html>